home *** CD-ROM | disk | FTP | other *** search
GNU Info File | 1993-10-21 | 7.0 KB | 181 lines |
- This is Info file gcc.info, produced by Makeinfo-1.54 from the input
- file gcc.texi.
-
- This file documents the use and the internals of the GNU compiler.
-
- Copyright (C) 1988, 1989, 1992, 1993 Free Software Foundation, Inc.
-
- Permission is granted to make and distribute verbatim copies of this
- manual provided the copyright notice and this permission notice are
- preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
- this manual under the conditions for verbatim copying, provided also
- that the sections entitled "GNU General Public License" and "Protect
- Your Freedom--Fight `Look And Feel'" are included exactly as in the
- original, and provided that the entire resulting derived work is
- distributed under the terms of a permission notice identical to this
- one.
-
- Permission is granted to copy and distribute translations of this
- manual into another language, under the above conditions for modified
- versions, except that the sections entitled "GNU General Public
- License" and "Protect Your Freedom--Fight `Look And Feel'", and this
- permission notice, may be included in translations approved by the Free
- Software Foundation instead of in the original English.
-
-
- File: gcc.info, Node: Config, Next: Index, Prev: Target Macros, Up: Top
-
- The Configuration File
- **********************
-
- The configuration file `xm-MACHINE.h' contains macro definitions
- that describe the machine and system on which the compiler is running,
- unlike the definitions in `MACHINE.h', which describe the machine for
- which the compiler is producing output. Most of the values in
- `xm-MACHINE.h' are actually the same on all machines that GNU CC runs
- on, so large parts of all configuration files are identical. But there
- are some macros that vary:
-
- `USG'
- Define this macro if the host system is System V.
-
- `VMS'
- Define this macro if the host system is VMS.
-
- `FAILURE_EXIT_CODE'
- A C expression for the status code to be returned when the compiler
- exits after serious errors.
-
- `SUCCESS_EXIT_CODE'
- A C expression for the status code to be returned when the compiler
- exits without serious errors.
-
- `HOST_WORDS_BIG_ENDIAN'
- Defined if the host machine stores words of multi-word values in
- big-endian order. (GNU CC does not depend on the host byte
- ordering within a word.)
-
- `HOST_FLOAT_FORMAT'
- A numeric code distinguishing the floating point format for the
- host machine. See `TARGET_FLOAT_FORMAT' in *Note Storage Layout::
- for the alternatives and default.
-
- `HOST_BITS_PER_CHAR'
- A C expression for the number of bits in `char' on the host
- machine.
-
- `HOST_BITS_PER_SHORT'
- A C expression for the number of bits in `short' on the host
- machine.
-
- `HOST_BITS_PER_INT'
- A C expression for the number of bits in `int' on the host machine.
-
- `HOST_BITS_PER_LONG'
- A C expression for the number of bits in `long' on the host
- machine.
-
- `ONLY_INT_FIELDS'
- Define this macro to indicate that the host compiler only supports
- `int' bit fields, rather than other integral types, including
- `enum', as do most C compilers.
-
- `EXECUTABLE_SUFFIX'
- Define this macro if the host system uses a naming convention for
- executable files that involves a common suffix (such as, in some
- systems, `.exe') that must be mentioned explicitly when you run
- the program.
-
- `OBSTACK_CHUNK_SIZE'
- A C expression for the size of ordinary obstack chunks. If you
- don't define this, a usually-reasonable default is used.
-
- `OBSTACK_CHUNK_ALLOC'
- The function used to allocate obstack chunks. If you don't define
- this, `xmalloc' is used.
-
- `OBSTACK_CHUNK_FREE'
- The function used to free obstack chunks. If you don't define
- this, `free' is used.
-
- `USE_C_ALLOCA'
- Define this macro to indicate that the compiler is running with the
- `alloca' implemented in C. This version of `alloca' can be found
- in the file `alloca.c'; to use it, you must also alter the
- `Makefile' variable `ALLOCA'. (This is done automatically for the
- systems on which we know it is needed.)
-
- If you do define this macro, you should probably do it as follows:
-
- #ifndef __GNUC__
- #define USE_C_ALLOCA
- #else
- #define alloca __builtin_alloca
- #endif
-
- so that when the compiler is compiled with GNU CC it uses the more
- efficient built-in `alloca' function.
-
- `FUNCTION_CONVERSION_BUG'
- Define this macro to indicate that the host compiler does not
- properly handle converting a function value to a
- pointer-to-function when it is used in an expression.
-
- `HAVE_VPRINTF'
- Define this if the library function `vprintf' is available on your
- system.
-
- `MULTIBYTE_CHARS'
- Define this macro to enable support for multibyte characters in the
- input to GNU CC. This requires that the host system support the
- ANSI C library functions for converting multibyte characters to
- wide characters.
-
- `HAVE_PUTENV'
- Define this if the library function `putenv' is available on your
- system.
-
- `NO_SYS_SIGLIST'
- Define this if your system *does not* provide the variable
- `sys_siglist'.
-
- `USE_PROTOTYPES'
- Define this to be 1 if you know that the host compiler supports
- prototypes, even if it doesn't define __STDC__, or define it to be
- 0 if you do not want any prototypes used in compiling GNU CC. If
- `USE_PROTOTYPES' is not defined, it will be determined
- automatically whether your compiler supports prototypes by
- checking if `__STDC__' is defined.
-
- `NO_MD_PROTOTYPES'
- Define this if you wish suppression of prototypes generated from
- the machine description file, but to use other prototypes within
- GNU CC. If `USE_PROTOTYPES' is defined to be 0, or the host
- compiler does not support prototypes, this macro has no effect.
-
- `MD_CALL_PROTOTYPES'
- Define this if you wish to generate prototypes for the `gen_call'
- or `gen_call_value' functions generated from the machine
- description file. If `USE_PROTOTYPES' is defined to be 0, or the
- host compiler does not support prototypes, or `NO_MD_PROTOTYPES'
- is defined, this macro has no effect. As soon as all of the
- machine descriptions are modified to have the appropriate number
- of arguments, this macro will be removed.
-
- Some systems do provide this variable, but with a different name
- such as `_sys_siglist'. On these systems, you can define
- `sys_siglist' as a macro which expands into the name actually
- provided.
-
- `NO_STAB_H'
- Define this if your system does not have the include file
- `stab.h'. If `USG' is defined, `NO_STAB_H' is assumed.
-
- In addition, configuration files for system V define `bcopy',
- `bzero' and `bcmp' as aliases. Some files define `alloca' as a macro
- when compiled with GNU CC, in order to take advantage of the benefit of
- GNU CC's built-in `alloca'.
-
- ə